Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 564e2f26f32049b90aa43a655f7528e000597cdd


Parents : 9ba243e
Author : Mark Qvist <mark@unsigned.io>
Date : 2025-01-04T22:08:04+01:00

Fixed intermittent radio init failure on T3S3 SX1280

Changes

2 files changed, 6 insertions(+), 1 deletions(-)

M sx128x.cpp +5 -1
M sx128x.h +1

Diff

diff --git a/sx128x.cpp b/sx128x.cpp
index 34eb14f..ed7415e 100644
--- a/sx128x.cpp
+++ b/sx128x.cpp
@@ -300,7 +300,7 @@ void sx128x::setPacketParams(uint32_t preamble, uint8_t headermode, uint8_t leng
executeOpcode(OP_PACKET_PARAMS_8X, buf, 7);
}
-int sx128x::begin(unsigned long frequency) {
+void sx128x::reset() {
if (_reset != -1) {
pinMode(_reset, OUTPUT);
digitalWrite(_reset, LOW);
@@ -308,6 +308,10 @@ int sx128x::begin(unsigned long frequency) {
digitalWrite(_reset, HIGH);
delay(10);
}
+}
+
+int sx128x::begin(unsigned long frequency) {
+ reset();
if (_rxen != -1) { pinMode(_rxen, OUTPUT); }
if (_txen != -1) { pinMode(_txen, OUTPUT); }

diff --git a/sx128x.h b/sx128x.h
index 203a265..8a3e7d1 100644
--- a/sx128x.h
+++ b/sx128x.h
@@ -25,6 +25,7 @@ public:
int begin(unsigned long frequency);
void end();
+ void reset();
int beginPacket(int implicitHeader = false);
int endPacket();


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────